package net.aiion.weave.spi.bytecode.events;

public interface ClassStartBytecodeEvent extends BytecodeEvent
{
    void setVersion(int aVersion);

    int getVersion();

    void setModifiers(int aModifiers);

    int getModifiers();

    boolean isAbstract();

    boolean isInterface();

    void setName(String aName);

    String getName();

    void setSignature(String aSignature);

    String getSignature();

    void setSuperName(String aSuperName);

    String getSuperName();

    void setInterfaces(String[] aInterfaceNames);

    void addInterface(String aInterfaceName);

    void addInterface(Class<?> aInterface);

    void removeInterface(String aInterfaceName);

    boolean containsInterface(String aInterfaceName);

    boolean containsInterface(Class<?> aInterface);

    String[] getInterfaceNames();
}
